Declaring Constraints on Object-oriented Collections
نویسندگان
چکیده
Logic puzzles such as Sudoku are described by a set of properties that a valid solution must have. Constraints are a useful technique to describe and solve for such properties. However, constraints are less suited to express imperative interactions in a user interface for logic puzzles, a domain that is more readily expressed in the objectoriented paradigm. Object constraint programming provides a design to integrate constraints with dynamic, objectoriented programming languages. It allows developers to encode multi-way constraints over objects using existing, object-oriented abstractions. These constraints are automatically maintained at run-time. In this paper we present an application of this design to logic puzzles in the Squeak/Smalltalk programming environment, as well as an extension of the design and the formal semantics of Babelsberg to allow declaring constraints using the imperative collection API provided in Squeak. We argue that our implementation facilitates creating applications that use imperative construction of user interfaces and mutable program state as well as constraint satisfaction techniques for different parts of the system. The main advantage of our approach is that it moves the burden to maintain constraints from the developer to the runtime environment, while keeping the development experience close to the purely object-oriented approach.
منابع مشابه
Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملThe Integration of Powerful and Flexible Constraint Representation and Processing into an Object-Oriented Programming Environment
This paper presents two consecutive constraint representation and processing systems for artificial intelligence applications. The main aim of the two systems is to provide powerful knowledge representation facilities in the form of constraints. The facilities taken into account include generic constraints, parameterization, hierarchization, a specialized language for declaring the functionalit...
متن کاملConsistency management for object databases
The aspect of semantic integrity in the mainstay object-oriented database management systems (OODBMSs) today is generally weak. Constraints like inter-object constraints are speci ed and maintained either by application-oriented techniques or using event-conditionaction (ECA) rules facilities of these systems. Both techniques have many disadvantages that makes database integrity incomplete. In ...
متن کاملConsistency Management in Object-Oriented Databases
The paper presents concepts and ideas underlying an approach for consistency management in object oriented databases. In this approach constraints are structured as rst class citizens and stored in a meta-database called constraints catalog. When an object is created constraints of this object are retrieved from the constraints catalog and relationships between these constraints and the object ...
متن کاملOn Attributes of Objects in Object-Oriented Software Analysis
One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- JIP
دوره 24 شماره
صفحات -
تاریخ انتشار 2016